package com.ms.excep;

import java.lang.reflect.Field;

/**
 * 获取某个类对象的四种方式；
 * 1，使用类的  .class
 * 2, 使用类的 getClass方法
 * 3，Class.forName("xxx)
 * 4, 8个包装类通过 .Type语法获得；
 * @author carter
 * create time    2018-08-14
 */
public class ReflactionTest {

    public static void main(String[] args) throws IllegalAccessException, InstantiationException, NoSuchFieldException {
        Class clz = PrivateTest.class;

        Object obj = clz.newInstance();

        Field name = clz.getDeclaredField("name");
        //压制Java的检查
        name.setAccessible(true);
        name.set(obj,"world");


        PrivateTest privateTest = (PrivateTest) obj;
        System.out.println(privateTest.getName());

    }



}
